package com.ibeeking.found.upms.s.rest.service;

import com.ibeeking.found.upms.service.common.bo.ShopUserRelationBO;
import com.ibeeking.found.upms.service.common.dos.ShopUserRelationDO;
import com.ibeeking.found.upms.service.common.query.ShopUserPageQuery;

import java.util.List;

/**
 * @ClassName IShopUserRelationService
 * @Description
 * @Author ibeeking
 * @Date 2021-04-26 10:47
 **/
public interface IShopUserRelationService {

    /**
     * 新增商户和商户员工关系
     *
     * @param shopId
     * @param shopUserId
     * @return
     */
    Boolean add(Long shopId, Long shopUserId);

    /**
     * 锁定/解锁用户
     *
     * @param shopId
     * @param shopUserId
     * @param status
     * @return
     */
    Boolean lockUser(Long shopId, Long shopUserId, Integer status);

    /**
     * 离职员工
     *
     * @param shopId
     * @param shopUserId
     * @return
     */
    Boolean quitById(Long shopId, Long shopUserId);

    /**
     * 查询满足条件的所有id
     *
     * @param query
     * @return
     */
    List<ShopUserRelationDO> selectByCondition(Long shopId, ShopUserPageQuery query);

    List<ShopUserRelationBO> queryShopByUserIds(List<Long> userIds);

    Boolean delete(Long shopId, Long userId);

    ShopUserRelationBO selectByUserId(Long shopId, Long userId);
}
